﻿//PlazaSessionColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

using System;

namespace StockSharp.Plaza.Metadata
{
	/// <summary>
	/// Поток FORTS_FUTINFO_REPL - Фьючерсы: справочная и сессионная информация.
	/// Таблица session: Информация о торговой сессии.
	/// </summary>
	public class PlazaSessionColumns : PlazaColumns
	{
		internal PlazaSessionColumns()
			: base(PlazaTableSystemName.Session)
		{
			SessionId = new PlazaColumn(TableId, "sess_id", typeof(int));
			BeginTime = new PlazaColumn(TableId, "begin", typeof(DateTime), false);
			EndTime = new PlazaColumn(TableId, "end", typeof(DateTime), false);
			State = new PlazaColumn(TableId, "state", typeof(int));
			OptSessionId = new PlazaColumn(TableId, "opt_sess_id", typeof(int));
			InterClearingBeginTime = new PlazaColumn(TableId, "inter_cl_begin", typeof(DateTime), false);
			InterClearingEndTime = new PlazaColumn(TableId, "inter_cl_end", typeof(DateTime), false);
			InterClearingState = new PlazaColumn(TableId, "inter_cl_state", typeof(int), false);
			EveningOn = new PlazaColumn(TableId, "eve_on", typeof(bool), false);
			EveningBeginTime = new PlazaColumn(TableId, "eve_begin", typeof(DateTime), false);
			EveningEndTime = new PlazaColumn(TableId, "eve_end", typeof(DateTime), false);
			MorningOn = new PlazaColumn(TableId, "mon_on", typeof(bool), false);
			MorningBeginTime = new PlazaColumn(TableId, "mon_begin", typeof(DateTime), false);
			MorningEndTime = new PlazaColumn(TableId, "mon_end", typeof(DateTime), false);
			PositionTransferBeginTime = new PlazaColumn(TableId, "pos_transfer_begin", typeof(DateTime), false);
			PositionTransferEndTime = new PlazaColumn(TableId, "pos_transfer_end", typeof(DateTime), false);
		}

		/// <summary>
		/// Идентификатор торговой сессии.
		/// </summary>
		public readonly PlazaColumn SessionId;

		/// <summary>
		/// Время начала.
		/// </summary>
		public readonly PlazaColumn BeginTime;

		/// <summary>
		/// Время окончания.
		/// </summary>
		public readonly PlazaColumn EndTime;

		/// <summary>
		/// Состояние сессии.
		/// </summary>
		public readonly PlazaColumn State;

		/// <summary>
		/// Номер соответствующей опционной сессии.
		/// </summary>
		public readonly PlazaColumn OptSessionId;

		/// <summary>
		/// Время начала пром. клиринга.
		/// </summary>
		public readonly PlazaColumn InterClearingBeginTime;

		/// <summary>
		/// Время окончания пром. клиринга.
		/// </summary>
		public readonly PlazaColumn InterClearingEndTime;

		/// <summary>
		/// Состояние пром. клиринга.
		/// </summary>
		public readonly PlazaColumn InterClearingState;

		/// <summary>
		/// Признак того, что доп вечерняя сессия будет проводиться.
		/// </summary>
		public readonly PlazaColumn EveningOn;

		/// <summary>
		/// Время начала доп. вечерней сессии.
		/// </summary>
		public readonly PlazaColumn EveningBeginTime;

		/// <summary>
		/// Время окончания доп. вечерней сессии.
		/// </summary>
		public readonly PlazaColumn EveningEndTime;

		/// <summary>
		/// Признак того, что доп утренняя сессия будет проводиться.
		/// </summary>
		public readonly PlazaColumn MorningOn;

		/// <summary>
		/// Время начала доп. утренней сессии.
		/// </summary>
		public readonly PlazaColumn MorningBeginTime;

		/// <summary>
		/// Время окончания доп. утренней сессии.
		/// </summary>
		public readonly PlazaColumn MorningEndTime;

		/// <summary>
		/// Начало интервала переноса позиций.
		/// </summary>
		public readonly PlazaColumn PositionTransferBeginTime;

		/// <summary>
		/// Конец интервала переноса позиций.
		/// </summary>
		public readonly PlazaColumn PositionTransferEndTime;
	}
}